home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ShareWare OnLine 2
/
ShareWare OnLine Volume 2 (CMS Software)(1993).iso
/
elecmail
/
rnet200f.zip
/
README!.NOW
< prev
next >
Wrap
Text File
|
1993-06-02
|
6KB
|
128 lines
-------------------------------------------------------------------------------
What you MUST do to support both message NDX and IDX's with PCBoard 15.0
-------------------------------------------------------------------------------
CDC didn't document this well enough since I'm finding out that many folks
out there are not doing everything needed to support both IDX and NDX. This
document tells you exactly what you need to do in order to support both IDX
and NDX files. It doesn't matter if you are or are not using RNET (as it
knows about these problems and tries to get around them). The following
MUST be done to keep the old and new indexes in sync when running mixed
utilities!
(1) Set PCB= environment to include /OLDINDEX (this tells PCBOARD to update
the NDX when it writes a message)
(2) Include /OLDINDEX on all PCBPACK commandlines! (THIS IS A MUST!)
(3) Every time a utility is used that writes to NDX but does NOT know how to
support the IDX (like MarkMail or TXT2MSG 2.39- or PostLink 1.05) *OR* a
utility writes to the IDX but does not update the NDX (like PostLink 1.06
or UUPCB), you MUST call PCBPACK /AREA:xx /UPDATE /INDEX /OLDINDEX.
If you fail to include /OLDINDEX, you will find that utilities that
support only the NDX get out of sync (MarkMail will create trashed QWK
packets, PCBoard will no longer be able to keep up the NDX correctly,
PostLink 1.05 will not 'see' the messages, Qmail 4 will miss messages).
If the IDX and NDX are out of sync, PCBoard, PostLink 1.06, UUPCB, and
similar IDX only programs will not 'see' NDX based messages.
During your normal "real" packing events, the /UPDATE should not be there
but the /OLDINDEX *MUST* be there to keep the IDX and NDX in sync. Your
normal "real" packing events might look something like this:
┌─
│ PCBPACK /AREA:ALL /KILLDUPS /KILLBAK /MAX:500 /MIN:100 /OLDINDEX
└─
Note the /OLDINDEX param MUST be there or the NDX files will not be kept
up to date with the packed conference! If any messages are deleted, the
NDX file will no longer be correctly in sync and you'll lose messages in
any utility that only knows about the NDX's!
This third item is what most folks are missing out on. For each and every
utility that writes a PCBoard message that does not support both IDX and NDX
files, you MUST do a PCBPACK /AREA:xx /INDEX /OLDINDEX. As an example, if
running TXT2MSG 2.39-, everywhere you make a call to TXT2MSG, you need to
make a call to PCBPACK right after:
┌─
│ REM ** use TXT2 to put message in main board...
│ TXT2MSG 0 -tSYSOP -fEVENT -sEVENT_LOG c:\pcb\EVENT.LOG
│ PCBPACK /AREA:0 /UPDATE /INDEX /OLDINDEX
└─
The same is true if running PostLink 1.05 (since it doesn't know about the
IDX files) *OR* PostLink 1.06 (since it doesn't support the NDX files):
┌─
│ REM ** PostLink
│ k:
│ cd\postlink
│ POSTLINK caller.cfg
│ TELIX -sPOSTCALL
│ POSTLINK caller.cfg /continue
│ c:
│ cd\pcb
│ PCBPACK /AREA:200-228 /UPDATE /INDEX /OLDINDEX
└─
That's the easy thing to do. Once you get all of your utilities up to date
(ie. they support the IDX's *AND* you no longer need the NDX's), you can
then remove the PCBPACK line. If *ANYTHING* on your system still uses the
old NDX's, you will need to leave that line in there even if the utility in
question supports the IDX's but not the NDX's. If it supports both IDX and
NDX (like RNET v2), than the PCBPACK is no longer needed.
Now the difficult one to catch -- MarkMail (or any other mail door that only
supports the NDX's). In the batch file that calls MarkMail (such as
C:\PCB\DOORS\MM.), you need to add a statement to create a 'flag file' so
you know that a user has used MarkMail during that call. My MM batch looks
like this:
┌─
│ @echo off
│ echo ** Loading MarkMail **
│ n:\doors\mm2\mm.exe
│ rem >c:\pcb\fixindex.flg <--- NOTE! Creates a flag file for $$LOGOFF
│ c:\pcb\board.bat
└─
Ok, now create a C:\PCB\$$LOGOFF.BAT file to update the IDX/NDX's after the
user logs off. I use this method to avoid taking up the users online time
by updating the indexes after they logoff. This *CAN* result in missing
mail (if running a multi-node system) since the time from the message
insertion from a REP until the user logs off might be significant. To cut
down on the chance for missing mail, you could move the PCBPACK stuff into
the C:\PCB\DOORS\MM batch and pack the indexes every time a user exits
MarkMail -- but that can be harsh on a user's time. I'll go with the chance
of an occasional loss and wait until the user logs off by using $$LOGOFF.BAT
┌─
│ @echo off
│ echo ** $$LOGOFF.BAT -- Checking need to update IDX/NDX's
│ if not exist c:\pcb\flagindex.flg goto END
│ PCBPACK /AREA:0-52 /UPDATE /INDEX /OLDINDEX
│ PCBPACK /AREA:99-228 /UPDATE /INDEX /OLDINDEX
│ PCBPACK /AREA:250-500 /UPDATE /INDEX /OLDINDEX
│ del c:\pcb\fixindex.flg
│ :END
└─
I use three calls to PCBPACK to avoid packing unavailable (unused) confs.
Adjust your /AREA:...'s to reflect the conference setup on your system.
The last line deletes the flag file we created in the MM batch. Note that
the $$LOGOFF.BAT file is called *after* the user logs off (and the modem
goes off-hook). This way, the users time isn't taken up by the updating and
the indexes are 'fixed' NOW instead of waiting for a later event.
-------------------------------------------------------------------------------
Conclusion: If you have missing mail, or your users are getting corrupted
QWK packets, or there are dups coming out of your mail door, or PCBoard is
reporting "no messages found" when a Y;S says there are, the problem is from
the NDX and IDX files being out of sync. If you fail to run PCBPACK often
enough and where required when running a "mixed" NDX and IDX system where
utilities aren't updating BOTH all the time, you *will* have these problems!
-------------------------------------------------------------------------------